package malagaAcoge.controller.beans;

import java.util.ArrayList;
import java.util.HashMap;

import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;

import malagaAcoge.controller.daos.ExpedienteDao;
import malagaAcoge.model.entities.Expediente;
import malagaAcoge.model.entities.Tecnico;
import malagaAcoge.model.entities.Usuario;

public class ExpedienteBean {
	private Usuario usuarioSelecionado;
	private Tecnico currentTecnico;
	private Expediente nuevoExpediente;
	private Expediente expediente;
	private HashMap<String, byte[]> documentos;

	public ExpedienteBean() {
		setCurrentTecnico((Tecnico) FacesContext.getCurrentInstance()
				.getExternalContext().getSessionMap().get("tecnico"));
		expediente = new Expediente();
		setNuevoExpediente(new Expediente());
	}
	public void addExpediente() {
		new ExpedienteDao();
		nuevoExpediente.setUsuarioBean(usuarioSelecionado);
		ExpedienteDao.createExpediente(nuevoExpediente);
		getUsuarioSelecionado().setExpedientes(new ArrayList<Expediente>());
		usuarioSelecionado.getExpedientes().add(nuevoExpediente);
		FacesContext.getCurrentInstance().getExternalContext().getSessionMap()
				.put("usuario", usuarioSelecionado);
		FacesContext context = FacesContext.getCurrentInstance();
		context.addMessage(null, new FacesMessage("Exito",
				"Expediente creado correctamente."));
	}
	public void updateExpediente() {
		new ExpedienteDao();
		expediente = getUsuarioSelecionado().getExpedientes().get(0);
		ExpedienteDao.updateExpediente(expediente);
		usuarioSelecionado.getExpedientes().set(0, expediente);
		FacesContext.getCurrentInstance().getExternalContext().getSessionMap()
				.put("usuario", usuarioSelecionado);
		FacesContext context = FacesContext.getCurrentInstance();
		context.addMessage(null, new FacesMessage("Exito",
				"Expediente modificado correctamente."));
	}
	
	
	
	public void setUsuarioSelecionado(Usuario usuarioSelecionado) {
		this.usuarioSelecionado = usuarioSelecionado;
	}

	public Usuario getUsuarioSelecionado() {
		usuarioSelecionado = (Usuario) FacesContext.getCurrentInstance()
				.getExternalContext().getSessionMap().get("usuario");
		return usuarioSelecionado;
	}
	public void setCurrentTecnico(Tecnico currentTecnico) {
		this.currentTecnico = currentTecnico;
	}

	public Tecnico getCurrentTecnico() {
		return currentTecnico;
	}
	public void setExpediente(Expediente expediente) {
		this.expediente = expediente;
	}

	public Expediente getExpediente() {
		return expediente;
	}
	public void setDocumentos(HashMap<String, byte[]> documentos) {
		this.documentos = documentos;
	}

	public HashMap<String, byte[]> getDocumentos() {
		return documentos;
	}
	public void setNuevoExpediente(Expediente nuevoExpediente) {
		this.nuevoExpediente = nuevoExpediente;
	}
	public Expediente getNuevoExpediente() {
		return nuevoExpediente;
	}
	
}
